package Beans;

import film.Film;








import java.io.IOException;
import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;


import javax.faces.context.FacesContext;

import outils.Outils;
import personne.Personne;
import DAOJPA.DAOFilmJPA;
import DAOJPA.DAOPersonneJPA;



@ManagedBean
@RequestScoped
public class BeanRecherche implements Serializable {

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Film film; 
	private String titre;
	private List<Film> LFilms;
	private List<Personne> LPersonne;
	private boolean valide;
	
	public BeanRecherche ()
	{
		this.film = new Film();
	}
	
	
	public String rechercherFilm() throws IOException
	{
		this.LFilms = DAOFilmJPA.getInstance().getFilmTitre(this.titre);
		
		
		if (Outils.getSession().getAttribute("username") == null )
		{	
			this.valide = true;
			if (this.LFilms.size() == 0)
				{
			 	FacesMessage message = new FacesMessage("Not Found !");
			 	FacesContext.getCurrentInstance().addMessage( null , message );
				}
			this.LPersonne = null;
		}
		else
		{
			this.valide = false;
			this.LPersonne = DAOPersonneJPA.getInstance().getPersonneNom(this.titre);
			if (this.LFilms.size() == 0 && this.LFilms.size() == 0)
			{
		 	FacesMessage message = new FacesMessage("Not Found !");
		 	FacesContext.getCurrentInstance().addMessage( null , message );
			}
	
		}
		
		 return "recherche";
	}
	
	public Film getFilm() {

        return this.film;

    }


	public String getTitre() {
		return titre;
	}


	public void setTitre(String titre) {
		this.titre = titre;
	}


	public List<Film> getLFilms() {
		return LFilms;
	}


	public void setLFilms(List<Film> lFilms) {
		LFilms = lFilms;
	}


	public List<Personne> getLPersonne() {
		return LPersonne;
	}


	public void setLPersonne(List<Personne> lPersonne) {
		LPersonne = lPersonne;
	}


	public boolean isValide() {
		return valide;
	}


	public void setValide(boolean valide) {
		this.valide = valide;
	}

	
}
